home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / machserver / 1.098 / libc / ctypeBits.c < prev    next >
C/C++ Source or Header  |  1988-04-27  |  7KB  |  160 lines

  1. /* 
  2.  * ctypeBits.c --
  3.  *
  4.  *    Contains the array of flags used by the ctype macros and
  5.  *    procedures.
  6.  *
  7.  * Copyright 1988 Regents of the University of California
  8.  * Permission to use, copy, modify, and distribute this
  9.  * software and its documentation for any purpose and without
  10.  * fee is hereby granted, provided that the above copyright
  11.  * notice appear in all copies.  The University of California
  12.  * makes no representations about the suitability of this
  13.  * software for any purpose.  It is provided "as is" without
  14.  * express or implied warranty.
  15.  */
  16.  
  17. #ifndef lint
  18. static char rcsid[] = "$Header: ctypeBits.c,v 1.1 88/04/27 18:03:22 ouster Exp $ SPRITE (Berkeley)";
  19. #endif not lint
  20.  
  21. #include "ctype.h"
  22.  
  23. /* The array below has flags set corresponding to certain types
  24.  * of characters. See the macros defined in ctype.h for details.
  25.  * The first slot in the array corresponds to the character value
  26.  * -1 (EOF).
  27.  */
  28.  
  29. char _ctype_bits[257] = {
  30.     /*   -1    */   0,
  31.     /*    0     */   CTYPE_CONTROL,
  32.     /*  0x1     */   CTYPE_CONTROL,
  33.     /*  0x2     */   CTYPE_CONTROL,
  34.     /*  0x3     */   CTYPE_CONTROL,
  35.     /*  0x4     */   CTYPE_CONTROL,
  36.     /*  0x5     */   CTYPE_CONTROL,
  37.     /*  0x6     */   CTYPE_CONTROL,
  38.     /*  0x7     */   CTYPE_CONTROL,
  39.     /*  0x8     */   CTYPE_CONTROL,
  40.     /*  0x9     */   CTYPE_SPACE|CTYPE_CONTROL,
  41.     /*  0xa     */   CTYPE_SPACE|CTYPE_CONTROL,
  42.     /*  0xb     */   CTYPE_SPACE|CTYPE_CONTROL,
  43.     /*  0xc     */   CTYPE_SPACE|CTYPE_CONTROL,
  44.     /*  0xd     */   CTYPE_SPACE|CTYPE_CONTROL,
  45.     /*  0xe     */   CTYPE_CONTROL,
  46.     /*  0xf     */   CTYPE_CONTROL,
  47.     /* 0x10     */   CTYPE_CONTROL,
  48.     /* 0x11     */   CTYPE_CONTROL,
  49.     /* 0x12     */   CTYPE_CONTROL,
  50.     /* 0x13     */   CTYPE_CONTROL,
  51.     /* 0x14     */   CTYPE_CONTROL,
  52.     /* 0x15     */   CTYPE_CONTROL,
  53.     /* 0x16     */   CTYPE_CONTROL,
  54.     /* 0x17     */   CTYPE_CONTROL,
  55.     /* 0x18     */   CTYPE_CONTROL,
  56.     /* 0x19     */   CTYPE_CONTROL,
  57.     /* 0x1a     */   CTYPE_CONTROL,
  58.     /* 0x1b     */   CTYPE_CONTROL,
  59.     /* 0x1c     */   CTYPE_CONTROL,
  60.     /* 0x1d     */   CTYPE_CONTROL,
  61.     /* 0x1e     */   CTYPE_CONTROL,
  62.     /* 0x1f     */   CTYPE_CONTROL,
  63.     /* 0x20 " " */   CTYPE_SPACE|CTYPE_PRINT,
  64.     /* 0x21 "!" */   CTYPE_PUNCT|CTYPE_PRINT,
  65.     /* 0x22 """ */   CTYPE_PUNCT|CTYPE_PRINT,
  66.     /* 0x23 "#" */   CTYPE_PUNCT|CTYPE_PRINT,
  67.     /* 0x24 "$" */   CTYPE_PUNCT|CTYPE_PRINT,
  68.     /* 0x25 "%" */   CTYPE_PUNCT|CTYPE_PRINT,
  69.     /* 0x26 "&" */   CTYPE_PUNCT|CTYPE_PRINT,
  70.     /* 0x27 "'" */   CTYPE_PUNCT|CTYPE_PRINT,
  71.     /* 0x28 "(" */   CTYPE_PUNCT|CTYPE_PRINT,
  72.     /* 0x29 ")" */   CTYPE_PUNCT|CTYPE_PRINT,
  73.     /* 0x2a "*" */   CTYPE_PUNCT|CTYPE_PRINT,
  74.     /* 0x2b "+" */   CTYPE_PUNCT|CTYPE_PRINT,
  75.     /* 0x2c "," */   CTYPE_PUNCT|CTYPE_PRINT,
  76.     /* 0x2d "-" */   CTYPE_PUNCT|CTYPE_PRINT,
  77.     /* 0x2e "." */   CTYPE_PUNCT|CTYPE_PRINT,
  78.     /* 0x2f "/" */   CTYPE_PUNCT|CTYPE_PRINT,
  79.     /* 0x30 "0" */   CTYPE_DIGIT|CTYPE_PRINT,
  80.     /* 0x31 "1" */   CTYPE_DIGIT|CTYPE_PRINT,
  81.     /* 0x32 "2" */   CTYPE_DIGIT|CTYPE_PRINT,
  82.     /* 0x33 "3" */   CTYPE_DIGIT|CTYPE_PRINT,
  83.     /* 0x34 "4" */   CTYPE_DIGIT|CTYPE_PRINT,
  84.     /* 0x35 "5" */   CTYPE_DIGIT|CTYPE_PRINT,
  85.     /* 0x36 "6" */   CTYPE_DIGIT|CTYPE_PRINT,
  86.     /* 0x37 "7" */   CTYPE_DIGIT|CTYPE_PRINT,
  87.     /* 0x38 "8" */   CTYPE_DIGIT|CTYPE_PRINT,
  88.     /* 0x39 "9" */   CTYPE_DIGIT|CTYPE_PRINT,
  89.     /* 0x3a ":" */   CTYPE_PUNCT|CTYPE_PRINT,
  90.     /* 0x3b ";" */   CTYPE_PUNCT|CTYPE_PRINT,
  91.     /* 0x3c "<" */   CTYPE_PUNCT|CTYPE_PRINT,
  92.     /* 0x3d "=" */   CTYPE_PUNCT|CTYPE_PRINT,
  93.     /* 0x3e ">" */   CTYPE_PUNCT|CTYPE_PRINT,
  94.     /* 0x3f "?" */   CTYPE_PUNCT|CTYPE_PRINT,
  95.     /* 0x40 "@" */   CTYPE_PUNCT|CTYPE_PRINT,
  96.     /* 0x41 "A" */   CTYPE_UPPER|CTYPE_PRINT|CTYPE_HEX_DIGIT,
  97.     /* 0x42 "B" */   CTYPE_UPPER|CTYPE_PRINT|CTYPE_HEX_DIGIT,
  98.     /* 0x43 "C" */   CTYPE_UPPER|CTYPE_PRINT|CTYPE_HEX_DIGIT,
  99.     /* 0x44 "D" */   CTYPE_UPPER|CTYPE_PRINT|CTYPE_HEX_DIGIT,
  100.     /* 0x45 "E" */   CTYPE_UPPER|CTYPE_PRINT|CTYPE_HEX_DIGIT,
  101.     /* 0x46 "F" */   CTYPE_UPPER|CTYPE_PRINT|CTYPE_HEX_DIGIT,
  102.     /* 0x47 "G" */   CTYPE_UPPER|CTYPE_PRINT,
  103.     /* 0x48 "H" */   CTYPE_UPPER|CTYPE_PRINT,
  104.     /* 0x49 "I" */   CTYPE_UPPER|CTYPE_PRINT,
  105.     /* 0x4a "J" */   CTYPE_UPPER|CTYPE_PRINT,
  106.     /* 0x4b "K" */   CTYPE_UPPER|CTYPE_PRINT,
  107.     /* 0x4c "L" */   CTYPE_UPPER|CTYPE_PRINT,
  108.     /* 0x4d "M" */   CTYPE_UPPER|CTYPE_PRINT,
  109.     /* 0x4e "N" */   CTYPE_UPPER|CTYPE_PRINT,
  110.     /* 0x4f "O" */   CTYPE_UPPER|CTYPE_PRINT,
  111.     /* 0x50 "P" */   CTYPE_UPPER|CTYPE_PRINT,
  112.     /* 0x51 "Q" */   CTYPE_UPPER|CTYPE_PRINT,
  113.     /* 0x52 "R" */   CTYPE_UPPER|CTYPE_PRINT,
  114.     /* 0x53 "S" */   CTYPE_UPPER|CTYPE_PRINT,
  115.     /* 0x54 "T" */   CTYPE_UPPER|CTYPE_PRINT,
  116.     /* 0x55 "U" */   CTYPE_UPPER|CTYPE_PRINT,
  117.     /* 0x56 "V" */   CTYPE_UPPER|CTYPE_PRINT,
  118.     /* 0x57 "W" */   CTYPE_UPPER|CTYPE_PRINT,
  119.     /* 0x58 "X" */   CTYPE_UPPER|CTYPE_PRINT,
  120.     /* 0x59 "Y" */   CTYPE_UPPER|CTYPE_PRINT,
  121.     /* 0x5a "Z" */   CTYPE_UPPER|CTYPE_PRINT,
  122.     /* 0x5b "[" */   CTYPE_PUNCT|CTYPE_PRINT,
  123.     /* 0x5c "\" */   CTYPE_PUNCT|CTYPE_PRINT,
  124.     /* 0x5d "]" */   CTYPE_PUNCT|CTYPE_PRINT,
  125.     /* 0x5e "^" */   CTYPE_PUNCT|CTYPE_PRINT,
  126.     /* 0x5f "_" */   CTYPE_PUNCT|CTYPE_PRINT,
  127.     /* 0x60 "`" */   CTYPE_PUNCT|CTYPE_PRINT,
  128.     /* 0x61 "a" */   CTYPE_LOWER|CTYPE_PRINT|CTYPE_HEX_DIGIT,
  129.     /* 0x62 "b" */   CTYPE_LOWER|CTYPE_PRINT|CTYPE_HEX_DIGIT,
  130.     /* 0x63 "c" */   CTYPE_LOWER|CTYPE_PRINT|CTYPE_HEX_DIGIT,
  131.     /* 0x64 "d" */   CTYPE_LOWER|CTYPE_PRINT|CTYPE_HEX_DIGIT,
  132.     /* 0x65 "e" */   CTYPE_LOWER|CTYPE_PRINT|CTYPE_HEX_DIGIT,
  133.     /* 0x66 "f" */   CTYPE_LOWER|CTYPE_PRINT|CTYPE_HEX_DIGIT,
  134.     /* 0x67 "g" */   CTYPE_LOWER|CTYPE_PRINT,
  135.     /* 0x68 "h" */   CTYPE_LOWER|CTYPE_PRINT,
  136.     /* 0x69 "i" */   CTYPE_LOWER|CTYPE_PRINT,
  137.     /* 0x6a "j" */   CTYPE_LOWER|CTYPE_PRINT,
  138.     /* 0x6b "k" */   CTYPE_LOWER|CTYPE_PRINT,
  139.     /* 0x6c "l" */   CTYPE_LOWER|CTYPE_PRINT,
  140.     /* 0x6d "m" */   CTYPE_LOWER|CTYPE_PRINT,
  141.     /* 0x6e "n" */   CTYPE_LOWER|CTYPE_PRINT,
  142.     /* 0x6f "o" */   CTYPE_LOWER|CTYPE_PRINT,
  143.     /* 0x70 "p" */   CTYPE_LOWER|CTYPE_PRINT,
  144.     /* 0x71 "q" */   CTYPE_LOWER|CTYPE_PRINT,
  145.     /* 0x72 "r" */   CTYPE_LOWER|CTYPE_PRINT,
  146.     /* 0x73 "s" */   CTYPE_LOWER|CTYPE_PRINT,
  147.     /* 0x74 "t" */   CTYPE_LOWER|CTYPE_PRINT,
  148.     /* 0x75 "u" */   CTYPE_LOWER|CTYPE_PRINT,
  149.     /* 0x76 "v" */   CTYPE_LOWER|CTYPE_PRINT,
  150.     /* 0x77 "w" */   CTYPE_LOWER|CTYPE_PRINT,
  151.     /* 0x78 "x" */   CTYPE_LOWER|CTYPE_PRINT,
  152.     /* 0x79 "y" */   CTYPE_LOWER|CTYPE_PRINT,
  153.     /* 0x7a "z" */   CTYPE_LOWER|CTYPE_PRINT,
  154.     /* 0x7b "{" */   CTYPE_PUNCT|CTYPE_PRINT,
  155.     /* 0x7c "|" */   CTYPE_PUNCT|CTYPE_PRINT,
  156.     /* 0x7d "}" */   CTYPE_PUNCT|CTYPE_PRINT,
  157.     /* 0x7e "~" */   CTYPE_PUNCT|CTYPE_PRINT,
  158.     /* 0x7f     */   CTYPE_CONTROL
  159. };
  160.